Only annotate internal methods, suppress the messages otherwise, so users of the library don't have to deal with warnings