Add proper Scaladocs and implicit checks
Add back println