We are using Maybe for the different authentication methods, while they are disjoint and we shoudl really be using a ADT.