Bidirectional Languages, Everything You Need To Know