Use applicative instead of case hack

Signed-off-by: Ricky Elrod <ricky@elrod.me>
Line length

Signed-off-by: Ricky Elrod <ricky@elrod.me>
Merge branch 'relrod-applicative'