#90 Add Cons and Snoc + refactor Prism and Optional constructor

Why switch the order?