better self-describing interface
typespecs and dialyzer
prepare for docs
doc info