unsafeCheck decls dom e = 
    let te = runTypeM $ typecheckExpr (declsToMap decls) dom NoType e
    in either error id te
unsafeCheck decls dom e = 
    let te = runTypeM $ typecheckExpr (declsToMap decls) dom NoType e
    in either error id te
unsafeCheck decls dom e = 
    let te = runTypeM $ typecheckExpr (declsToMap decls) dom NoType e
    in either error id te