--- /dev/null
+:: Main a = {main :: a}
+:: UserLED = LED1 | LED2 | LED3
+
+class seq v where
+ (:.) infixr 0 :: (v t p) (v u q) -> v u Stmt | ...
+class assign v where
+ (=.) infixr 2 :: (v t Upd) (v t p) -> v t Expr | type t & isExpr p
+class noOp v where noOp :: v t p
+class IF v where
+ IF :: (v Bool p) (v t q) (v s r) -> v () Stmt | isExpr p
+ (?) infix 1 :: (v Bool p) (v t q) -> v () Stmt | isExpr p
+class userLed v where
+ ledOn :: UserLED -> (v () Stmt)
+ ledOff :: UserLED -> (v () Stmt)