Implementations of Some Purely Functional Data Structures in Scala