function! datatype revamp doc