Why current_user_can(‘edit_comment’) always true?

Notice how it is singular? Comment, not comments?

This capability is not designed to check if user can edit any arbitrary comment out there. It can only check if user can edit one specific comment and correct way to call it is current_user_can( 'edit_comment', $comment_id ).

Unfortunately second argument is missing from current_user_can() function signature and it is extremely unobvious that some capabilities must be checked in this fashion.