display compilation time.
better handling of array type constraint.
code generation completely in memory.
add junit dependency