A little lamb is a lambkin, right? Not in everyday use any more, but we still recognise it. Same as the -tje in Dutch and the -chen in German. Well, a little John used to be a Johnkin, -> Johnkie, -> Johkie, ->Jackie, -> Jack. The arrival in England of the French, who nasalised N sounds out of existence, must have helped. 1066 And All That roolz, OK?