I feel tempted to write a toy(ish) #Datalog database similar to Datomic in #OCaml, just to understand how that type of DBs work, and to learn how to optimize Datalog queries. Maybe not the most efficient way to learn, but I think it's most fun.