have ListADT function first return a Maybe instead of a List