currently the types returned by the various functions is some Option with content.. This then needs to be destructured.... Should return a type : case class Result[A+] { apply <-------- destructure } case class ResultSet <- isn't really a set....