you can probably do this differently... they are similar to isJust and isNothing which are bad style, can you refactor all the uses to pattern match?