use constants for sum types