Order struct is the order condition
Condition are the “where” conditions
The Abstract Syntax Tree is used to build the query by a Query Builder
A query builder can be different for each database implementation
AST is a dialect agnostic way of storing the implementation for different database