simple algebraic types