 I've been doing Haskell for 17-18 years now and for the last eight years I've been running a Haskell consultancy company. So I've had the academic experience and then in business we've been doing lots of software engineering using Haskell and helping companies use Haskell effectively. And what was exciting to me about it was that it was taking a mathematical approach to computer science as opposed to programming computers the way that they work. It was starting from the mathematical semantics for what programs should be according to one school of thought and then taking that through to practicality. So we have this proper computer science research at the level of the protocol, the description, the proofs of liveness, of correctness, etc. And our challenge is to reflect that in the implementation, not just to take a standard commercial as quick as you can development approach to things but to introduce semi-formal and formal methods where appropriate. My goal is to help move the system towards a greater level of formality, a higher level of assurance. There's a number of things we're thinking of there, the correctness of the software itself but then also system level behavior. The ambition here is that this is going to be the banking system for the other three billion people in the world. So there's a vast amount at stake and so that means that the assurance is really important which means the design is really important.