build out richer types; generate combinations of note exercises