Optimisation in the context of Agent-based Modelling has been thoroughly researched and reported in the literature. In particular, model parameter tuning has been done using a variety of parametric optimisers, and we are now entering a phase where agent behaviour itself is learned, not specified. The latter is proving to be problematic for a number of reasons. Algorithms earmarked for this purpose such as Genetic Programming and decision tree induction present their own problems. Defining the search space in terms of building blocks for these algorithms is surprisingly difficult. We propose a different methodology for accomplishing machine learning in the context of model induction. Instead of forcing the modeller to provide fine grained and concise model building blocks, we provide a language where small portions of uncertain dynamics can be expressed concisely using domain specific knowledge. This has the potential to greatly increase the efficiency of building simulations for models, and reduce time spent on verification. Our language is built using recent concepts of multi-stage programming (MSP), providing run-time compiling and execution of code. This allows us to avoid the abstraction penalty. We provide detailed examples, and performance data for our implementation.