contour._insertBPoint() requires there to be a previous and next bPoint
I'm writing a test for the bPoint and found that the logic looks a little bit incomplete here:
https://github.com/robofab-developers/fontParts/blob/bbf48a605a9224e52ca96c1db87fc55b84366784/Lib/fontParts/base/contour.py#L700
Inserting a bPoint looks like it can only work if there's a previous and next bPoint on the contour, it can't work if the contour is empty or if you're appending the bPoint to the end of the contour.
I can help try to fix it, but for now I'm just opening up an issue since it looks like there wasn't one yet...
Yeah. I don't think we ever added that functionality to RoboFab and this code came straight from there. If you want to add it, feel free. It might get kind of gnarly though since the bcpOut should actually be in a segment that doesn't yet exist. I don't think that's insurmountable though.