Generalise Tail and Init to 2 type parameters and move them to Optional
Rename Tail to tailOption and add Tail that creates a Lens to a mandatory tail