Coset codes. I. Introduction and geometrical classification | Synapse