    Constructor(@ast::RecordDeclaration),

    // f(a, b, ...) = ...
    Function(@[Fun<Interp>]),

    // a.{...}
    Module(@mut linear::LinearMap<ast::Sym, @mut Val<Interp>>),

    // <routine>
    Routine(@fn (@mut Interp, @mut env::Env<Interp>) -> @mut Val<Interp>),