Template Types
TODO
Template struct
Declarations
struct Pair(type Left, type Right) {
left: Left
right: Right
}
fn fst(pair: Pair(<Left>, _)): Left =
pair.left
fn snd(pair: Pair(_, <Right>)): Right =
pair.right
fn sum(pair: Pair(<T>, T))
case (T.is::arithmetic): T =
pair.fst + pair.snd
TODO