Type system
NPL is a compiled, statically checked language. Type annotations are mandatory for all declarations and assignments.
This means the following does not compile, even if nothing in the code ever attempts to access compile()
or its
invalid path.
function compile(test: Boolean) returns Number {
return "False"; // Text is not compatible with Number
};