When a value is assigned to a type ascribed concrete member, then this value is type-checked against the type of the member before performing the actual assignement.


A type-check failure abruptly halts the execution of the interpreter with this message:

error: type mismatch:
expected: <expected type>
actual: <actual type>
at <row>:<col>:
    <identifier>: <expected type> = <actual value>