Implement Fulyn AST