Refactor 'lazy-compile' function
Refactor 'evaluate-order' function
Replace asserts with functions to throw exceptions
Add flow keys destructuring feature
Merge branch 'flow-destructure' into dev