Tests that we want
    - syntax
        missing punctuations and other missing symbols
        inserted punctuation
        unclosed delimiters
        forgot typedecl
    - typechecking
        tuples incompatible size
        tuples incompatible type
        tuples incompatible size, but hidden by function call
        tuples incompatible type, but hidden by function call
        tuple + scalar
        tuple = scalar
        tuple == tuple
        tuple == scalar
        scalar + tuple
        scalar = tuple
        bool = float
        bool + float
        bool == float
        call with bad arguments
        no such node
        no such variable
        no such global
        assignment to global
        assignment from global
    - causality
        all of the following in both global and local contexts
        cycle
        big cycle (incl subnodes and ->)
        autodep
            (incl. autodep after a -> and autodep in a subnode)
        missing spec
        redefinition
            - global compat node
            - variable compat node
            - node compat global
    - positivity
        pre at the root
        pre too shallow
        pre in fby
            (but also check that we can do "fib = 0 fby 1 fby fib + pre fib"
    - also test errors calling from and into foreign code
        - where are the spans displayed when we return the wrong type ?
        - what is the error message if the Default of a node is missing ?
        - what is the error message if an extern const has the wrong type ?
    - assertion failed error message
