2013-05-11: Changed string representation of error messages in Ib module. Moved client module in ib.ml into separate file. 2013-05-06: Fixed small bug in error message of handshake version failure. 2013-05-05: More robust version checking of incoming TWS messages. 2013-04-30: Fixed occasional parse errors caused by empty price fields in TWS messages. 2013-04-21: Fixed response pickler bug in the Ib module that caused a missing terminating null byte. 2013-04-19: Improved unpickler performance by removing the construction of lazy values in unpickler combinators. 2013-04-18: Port number for TWS clients is no longer optional. 2013-04-16: Added a new interface Twsable. A type is 'Twsable' if it provides functions to convert between values of that type and raw messages of the TWS protocol. 2013-04-04: Fixed version mismatch in option price and implied volatility request. 2013-04-02: Initial public release.