making a library for a general-purpose client is hard without also making a client
and making a client is hard even with a library