fix a bug, and annotat assoc as <* function type, although not used
currently